package com.fiveflavors.suittar.gui.notifier;

import java.util.ArrayList;
import java.util.List;


public class SuittarNotifierManager {
	public static String SUITTAR_NOTIFIER_CLASS_BASE = "com.fiveflavors.suittar.gui.notifier.";
	protected static String[] notifiers = new String[] {
								"SuittarNotifierBalloon",
								"SuittarNotifierConsole",
								"SuittarNotifierGrowl",
								"SuittarNotifierSnarl"
	};
	public static List<SuittarNotifier> getNotifiers() {
		ArrayList<SuittarNotifier> ret = new ArrayList<SuittarNotifier>();
		for (int i = 0; i < notifiers.length; i++) {
			try {
				Class<?> notifyClass = Class.forName(SUITTAR_NOTIFIER_CLASS_BASE + notifiers[i]);
				ret.add((SuittarNotifier) notifyClass.newInstance());
			} catch (Exception e) {
				// TODO 自動生成された catch ブロック
				e.printStackTrace();
			}
		}
		return ret;

	}
	public static List<SuittarNotifier> getSupportedNotifier(){
		ArrayList<SuittarNotifier> ret = new ArrayList<SuittarNotifier>();
		List<SuittarNotifier> notifiers = getNotifiers();
		for (int i = 0; i < notifiers.size(); i++) {
			if (notifiers.get(i).isSupported()) {
				ret.add(notifiers.get(i));
			}
		}
		return ret;
	}

}
